<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth Host Stack Library: Logical Link Control and Adaptation Protocol (L2CAP)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth Host Stack Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__l2cap.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">Logical Link Control and Adaptation Protocol (L2CAP)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Logical Link Control and Adaptation Layer Protocol, referred to as L2CAP, provides connection oriented and connectionless data services to upper layer protocols with protocol multiplexing capability and segmentation and reassembly operation. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__l2cap__common__api__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap__common__api__functions.html">Common</a></td></tr>
<tr class="memdesc:group__l2cap__common__api__functions"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commonly used API's for both BE/EDR and LE <a class="el" href="group__l2cap.html">L2CAP</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__l2cap__br__edr__api__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap__br__edr__api__functions.html">BR/EDR</a></td></tr>
<tr class="memdesc:group__l2cap__br__edr__api__functions"><td class="mdescLeft">&#160;</td><td class="mdescRight">API's used for BR/EDR <a class="el" href="group__l2cap.html">L2CAP</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__l2cap__le__api__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap__le__api__functions.html">LE</a></td></tr>
<tr class="memdesc:group__l2cap__le__api__functions"><td class="mdescLeft">&#160;</td><td class="mdescRight">API's used for LE <a class="el" href="group__l2cap.html">L2CAP</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__fcr__options__t.html">wiced_bt_l2cap_fcr_options_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for Enhanced Retransmission Mode Options Refer to Volume 3, Part A, section 5.4 of Bluetooth Core specification for details.  <a href="structwiced__bt__l2cap__fcr__options__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a structure to hold the configuration parameters.  <a href="structwiced__bt__l2cap__cfg__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__ertm__information__t.html">wiced_bt_l2cap_ertm_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure that applications use to create or accept connections with enhanced retransmission mode.  <a href="structwiced__bt__l2cap__ertm__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__appl__information__t.html">wiced_bt_l2cap_appl_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the structure that applications use to register with L2CAP.  <a href="structwiced__bt__l2cap__appl__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html">wiced_bt_l2cap_le_appl_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the structure that applications use to register with LE L2CAP.  <a href="structwiced__bt__l2cap__le__appl__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__fixed__chnl__reg__t.html">wiced_bt_l2cap_fixed_chnl_reg_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed channel registration info (the callback addresses and channel config)  <a href="structwiced__bt__l2cap__fixed__chnl__reg__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html">wiced_bt_l2cap_ecrb_cb_ptrs_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure containing application ECRB callbacks.  <a href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga467e2353f863be840bd5faa90eccae6c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga467e2353f863be840bd5faa90eccae6c">L2CAP_ECRB_MIN_MTU</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ga467e2353f863be840bd5faa90eccae6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Min MTU.  <a href="#ga467e2353f863be840bd5faa90eccae6c">More...</a><br /></td></tr>
<tr class="separator:ga467e2353f863be840bd5faa90eccae6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d68514711d5b2dcda828eabed7fbe00"><td class="memItemLeft" align="right" valign="top"><a id="ga1d68514711d5b2dcda828eabed7fbe00"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1d68514711d5b2dcda828eabed7fbe00">L2CAP_ECRB_MIN_MPS</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ga1d68514711d5b2dcda828eabed7fbe00"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Min MPS. <br /></td></tr>
<tr class="separator:ga1d68514711d5b2dcda828eabed7fbe00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga393b58267d11d569c394b326b3350412"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga393b58267d11d569c394b326b3350412">L2CAP_MINIMUM_OFFSET</a>&#160;&#160;&#160;13</td></tr>
<tr class="memdesc:ga393b58267d11d569c394b326b3350412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum offset that L2CAP needs in a buffer.  <a href="#ga393b58267d11d569c394b326b3350412">More...</a><br /></td></tr>
<tr class="separator:ga393b58267d11d569c394b326b3350412"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab983f0794fe13006d98d29538aa1307"><td class="memItemLeft" align="right" valign="top"><a id="gaab983f0794fe13006d98d29538aa1307"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaab983f0794fe13006d98d29538aa1307">L2CAP_BLE_CONN_MIN_OFFSET</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:gaab983f0794fe13006d98d29538aa1307"><td class="mdescLeft">&#160;</td><td class="mdescRight">HCI type(1), len(2), handle(2), L2CAP len(2) and CID(2) <br /></td></tr>
<tr class="separator:gaab983f0794fe13006d98d29538aa1307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d778e008613bbc073549e6cb1ce8e47"><td class="memItemLeft" align="right" valign="top"><a id="ga6d778e008613bbc073549e6cb1ce8e47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6d778e008613bbc073549e6cb1ce8e47">L2CAP_DEFAULT_BLE_CB_POOL_ID</a>&#160;&#160;&#160;0xFF</td></tr>
<tr class="memdesc:ga6d778e008613bbc073549e6cb1ce8e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the default HCI ACL buffer pool. <br /></td></tr>
<tr class="separator:ga6d778e008613bbc073549e6cb1ce8e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="memItemLeft" align="right" valign="top"><a id="ga2dbbfb547c0c6bdf80988cb14f716982"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2dbbfb547c0c6bdf80988cb14f716982">L2CAP_BLE_COC_SDU_OFFSET</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="mdescLeft">&#160;</td><td class="mdescRight">to provide upper layer some minimal offset possibly required to process incoming packets <br /></td></tr>
<tr class="separator:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21a82bdfd45b292cf3421c064ca7874d"><td class="memItemLeft" align="right" valign="top"><a id="ga21a82bdfd45b292cf3421c064ca7874d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga21a82bdfd45b292cf3421c064ca7874d">L2CAP_BROADCAST_MIN_OFFSET</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:ga21a82bdfd45b292cf3421c064ca7874d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum offset for broadcast needs another two bytes for the PSM. <br /></td></tr>
<tr class="separator:ga21a82bdfd45b292cf3421c064ca7874d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga6827dfd644f1172740f9e69c0df06bc9"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a></td></tr>
<tr class="memdesc:ga6827dfd644f1172740f9e69c0df06bc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel configuration fields in bit map.  <a href="#ga6827dfd644f1172740f9e69c0df06bc9">More...</a><br /></td></tr>
<tr class="separator:ga6827dfd644f1172740f9e69c0df06bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae159cf0a184ef83a6b33727f05747b69"><td class="memItemLeft" align="right" valign="top">typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae159cf0a184ef83a6b33727f05747b69">wiced_bt_l2cap_chnl_priority_t</a></td></tr>
<tr class="memdesc:gae159cf0a184ef83a6b33727f05747b69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Values for priority parameter to <a class="el" href="group__l2cap__br__edr__api__functions.html#gab898add922fd24505677d647683edcdd" title="Sets the transmission priority for a channel.">wiced_bt_l2cap_set_tx_priority()</a>.  <a href="#gae159cf0a184ef83a6b33727f05747b69">More...</a><br /></td></tr>
<tr class="separator:gae159cf0a184ef83a6b33727f05747b69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a4a747ef09577a8dfdb31de1ddca88d"><td class="memItemLeft" align="right" valign="top"><a id="ga0a4a747ef09577a8dfdb31de1ddca88d"></a>
typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0a4a747ef09577a8dfdb31de1ddca88d">wiced_bt_l2cap_fixed_channel_mask_t</a>[L2CAP_FIXED_CHNL_ARRAY_SIZE]</td></tr>
<tr class="memdesc:ga0a4a747ef09577a8dfdb31de1ddca88d"><td class="mdescLeft">&#160;</td><td class="mdescRight">fixed channel is represented by a single bit in an 8 octet bit mask Used in <a class="el" href="group__l2cap__br__edr__api__functions.html#gae099861fe24b11a8f99029410190f120">wiced_bt_l2cap_get_peer_features</a> API to get the fixed channel mask data <br /></td></tr>
<tr class="separator:ga0a4a747ef09577a8dfdb31de1ddca88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga8eb954ec0a272b02c6fc69bd07ea7602">wiced_bt_l2cap_connected_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection established callback prototype.  <a href="#ga8eb954ec0a272b02c6fc69bd07ea7602">More...</a><br /></td></tr>
<tr class="separator:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga8e06cc2cf38b4956b5bf6f521de8b3c7">wiced_bt_l2cap_disconnect_indication_cback_t</a>(uint16_t local_cid, uint16_t reason, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> ack)</td></tr>
<tr class="memdesc:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect indication callback prototype.  <a href="#ga8e06cc2cf38b4956b5bf6f521de8b3c7">More...</a><br /></td></tr>
<tr class="separator:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0a296b1bb20b46ebc680a7bec99a740a">wiced_bt_l2cap_disconnect_confirm_cback_t</a>(uint16_t local_cid, uint16_t result)</td></tr>
<tr class="memdesc:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect confirm callback prototype.  <a href="#ga0a296b1bb20b46ebc680a7bec99a740a">More...</a><br /></td></tr>
<tr class="separator:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f1ea722e6d857d614fbc68192fcad37"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga5f1ea722e6d857d614fbc68192fcad37">wiced_bt_l2cap_data_indication_cback_t</a>(uint16_t local_cid, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td></tr>
<tr class="memdesc:ga5f1ea722e6d857d614fbc68192fcad37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data received indication callback prototype.  <a href="#ga5f1ea722e6d857d614fbc68192fcad37">More...</a><br /></td></tr>
<tr class="separator:ga5f1ea722e6d857d614fbc68192fcad37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga202240560832cdbfbf208871afd29153"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga202240560832cdbfbf208871afd29153">wiced_bt_l2cap_tx_complete_cback_t</a>(uint16_t local_cid, void *p_data)</td></tr>
<tr class="memdesc:ga202240560832cdbfbf208871afd29153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit complete callback protype.  <a href="#ga202240560832cdbfbf208871afd29153">More...</a><br /></td></tr>
<tr class="separator:ga202240560832cdbfbf208871afd29153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac22d67eed3442a90a411e8a8fecbe736"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac22d67eed3442a90a411e8a8fecbe736">wiced_bt_l2cap_fixed_chnl_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> connected, uint16_t reason, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport)</td></tr>
<tr class="memdesc:gac22d67eed3442a90a411e8a8fecbe736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed channel connected and disconnected.  <a href="#gac22d67eed3442a90a411e8a8fecbe736">More...</a><br /></td></tr>
<tr class="separator:gac22d67eed3442a90a411e8a8fecbe736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae164afd58df70e53ff78489e7b7718e7"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae164afd58df70e53ff78489e7b7718e7">wiced_bt_l2cap_fixed_data_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:gae164afd58df70e53ff78489e7b7718e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signalling data received.  <a href="#gae164afd58df70e53ff78489e7b7718e7">More...</a><br /></td></tr>
<tr class="separator:gae164afd58df70e53ff78489e7b7718e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad82cf3146183d8eab241071358169b6"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaad82cf3146183d8eab241071358169b6">wiced_bt_l2cap_le_connect_indication_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t psm, uint8_t id, uint16_t mtu_peer)</td></tr>
<tr class="memdesc:gaad82cf3146183d8eab241071358169b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection indication callback prototype.  <a href="#gaad82cf3146183d8eab241071358169b6">More...</a><br /></td></tr>
<tr class="separator:gaad82cf3146183d8eab241071358169b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3708e90651b47861800452aa90044a7f"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3708e90651b47861800452aa90044a7f">wiced_bt_l2cap_drb_release_cb</a>(<a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td></tr>
<tr class="memdesc:ga3708e90651b47861800452aa90044a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">User DRB may be released callback prototype.  <a href="#ga3708e90651b47861800452aa90044a7f">More...</a><br /></td></tr>
<tr class="separator:ga3708e90651b47861800452aa90044a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaa04b89594d9c3dc7d39a3066c02794cf">wiced_bt_l2cap_le_connect_confirm_cback_t</a>(uint16_t local_cid, uint16_t result, uint16_t mtu_peer)</td></tr>
<tr class="memdesc:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection confirmation callback prototype.  <a href="#gaa04b89594d9c3dc7d39a3066c02794cf">More...</a><br /></td></tr>
<tr class="separator:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="memItemLeft" align="right" valign="top"><a id="gaf52b6b2c8b5f0b7e29b9152e786c14b8"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf52b6b2c8b5f0b7e29b9152e786c14b8">wiced_bt_l2cap_ecrb_connect_ind</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> peer_addr, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint16_t psm, <a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a> lcids, uint8_t id, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for incoming connection requests. <br /></td></tr>
<tr class="separator:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf993046174899c65ebee5456a12e3be3"><td class="memItemLeft" align="right" valign="top"><a id="gaf993046174899c65ebee5456a12e3be3"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf993046174899c65ebee5456a12e3be3">wiced_bt_l2cap_ecrb_confirm_cb</a>(uint16_t lcid, uint16_t result, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:gaf993046174899c65ebee5456a12e3be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for outging connection confirms. <br /></td></tr>
<tr class="separator:gaf993046174899c65ebee5456a12e3be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78a9fe09013d325da3ad898e0e185d84"><td class="memItemLeft" align="right" valign="top"><a id="ga78a9fe09013d325da3ad898e0e185d84"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga78a9fe09013d325da3ad898e0e185d84">wiced_bt_l2cap_ecrb_mtu_changed_cb</a>(uint16_t lcid, uint16_t new_mtu, uint16_t new_mps)</td></tr>
<tr class="memdesc:ga78a9fe09013d325da3ad898e0e185d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for channel MTU size change. <br /></td></tr>
<tr class="separator:ga78a9fe09013d325da3ad898e0e185d84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP connection result codes</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpfac4b232f4a458fd1580e81c538b18bc"></a><a class="anchor" id="L2CAP_CONN_RESULT"></a></p>
<p>L2CAP connection result codes. </p>
</td></tr>
<tr class="memitem:ga1c3124459bc093d9ee974c024a08dd80"><td class="memItemLeft" align="right" valign="top"><a id="ga1c3124459bc093d9ee974c024a08dd80"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1c3124459bc093d9ee974c024a08dd80">L2CAP_CONN_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga1c3124459bc093d9ee974c024a08dd80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection OK. <br /></td></tr>
<tr class="separator:ga1c3124459bc093d9ee974c024a08dd80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="memItemLeft" align="right" valign="top"><a id="gaf7a6a61438d32cd8a86aded6630fbd8e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf7a6a61438d32cd8a86aded6630fbd8e">L2CAP_CONN_PENDING</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection Pending. <br /></td></tr>
<tr class="separator:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24bdc2415febb2c406ae66fc741c47f4"><td class="memItemLeft" align="right" valign="top"><a id="ga24bdc2415febb2c406ae66fc741c47f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga24bdc2415febb2c406ae66fc741c47f4">L2CAP_CONN_NO_PSM</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga24bdc2415febb2c406ae66fc741c47f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection NO PSM. <br /></td></tr>
<tr class="separator:ga24bdc2415febb2c406ae66fc741c47f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3698261ebe22cb870474e9a9d4c2995c"><td class="memItemLeft" align="right" valign="top"><a id="ga3698261ebe22cb870474e9a9d4c2995c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3698261ebe22cb870474e9a9d4c2995c">L2CAP_CONN_SECURITY_BLOCK</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga3698261ebe22cb870474e9a9d4c2995c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection Security Block. <br /></td></tr>
<tr class="separator:ga3698261ebe22cb870474e9a9d4c2995c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1de1d0109789e661f1d7d4173c96369"><td class="memItemLeft" align="right" valign="top"><a id="gad1de1d0109789e661f1d7d4173c96369"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gad1de1d0109789e661f1d7d4173c96369">L2CAP_CONN_NO_RESOURCES</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gad1de1d0109789e661f1d7d4173c96369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection NO Resource. <br /></td></tr>
<tr class="separator:gad1de1d0109789e661f1d7d4173c96369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga307cec0f897a0faf5f154309726c656f"><td class="memItemLeft" align="right" valign="top"><a id="ga307cec0f897a0faf5f154309726c656f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga307cec0f897a0faf5f154309726c656f">L2CAP_CONN_BAD_CTLR_ID</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga307cec0f897a0faf5f154309726c656f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad Controller ID. <br /></td></tr>
<tr class="separator:ga307cec0f897a0faf5f154309726c656f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87beab594369ecec827a5b118d07c344"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga87beab594369ecec827a5b118d07c344">L2CAP_BLE_CONN_BAD_AUTHENT</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga87beab594369ecec827a5b118d07c344"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Authentication.  <a href="#ga87beab594369ecec827a5b118d07c344">More...</a><br /></td></tr>
<tr class="separator:ga87beab594369ecec827a5b118d07c344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="memItemLeft" align="right" valign="top"><a id="ga54c8b0caa348bca488bc7f8d5e2f9c8c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga54c8b0caa348bca488bc7f8d5e2f9c8c">L2CAP_BLE_CONN_BAD_AUTHORIZ</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Autherization. <br /></td></tr>
<tr class="separator:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="memItemLeft" align="right" valign="top"><a id="gaea4d2ca81108c8bcfc45de7a98a52ade"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaea4d2ca81108c8bcfc45de7a98a52ade">L2CAP_BLE_CONN_BAD_KEY_SIZE</a>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad key size. <br /></td></tr>
<tr class="separator:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75bf9f1505a79933a8bc7945888d82e8"><td class="memItemLeft" align="right" valign="top"><a id="ga75bf9f1505a79933a8bc7945888d82e8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga75bf9f1505a79933a8bc7945888d82e8">L2CAP_BLE_CONN_BAD_ENCRYPT</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga75bf9f1505a79933a8bc7945888d82e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Encryption. <br /></td></tr>
<tr class="separator:ga75bf9f1505a79933a8bc7945888d82e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="memItemLeft" align="right" valign="top"><a id="ga5d5d4cf8ac03e15edd8186ea202cf00c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga5d5d4cf8ac03e15edd8186ea202cf00c">L2CAP_BLE_CONN_INVALID_CID</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Source CID. <br /></td></tr>
<tr class="separator:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="memItemLeft" align="right" valign="top"><a id="gab2f3a5adb96ddd9b73b6dae10626d642"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab2f3a5adb96ddd9b73b6dae10626d642">L2CAP_BLE_CONN_CID_ALREADY_USED</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source CID already allocated. <br /></td></tr>
<tr class="separator:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98e67e66f886f6427f273c458a5c9301"><td class="memItemLeft" align="right" valign="top"><a id="ga98e67e66f886f6427f273c458a5c9301"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga98e67e66f886f6427f273c458a5c9301">L2CAP_BLE_CONN_BAD_PARAMS</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:ga98e67e66f886f6427f273c458a5c9301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad parameters. <br /></td></tr>
<tr class="separator:ga98e67e66f886f6427f273c458a5c9301"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ECRB Result Code</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp94fd4fcb4809d230fdca2626b299dad5"></a><a class="anchor" id="L2CAP_ECRB_RESULT"></a></p>
<p>L2CAP ECRB Result Code </p>
</td></tr>
<tr class="memitem:gaf31a4728521eb4b930914f56c5d5685b"><td class="memItemLeft" align="right" valign="top"><a id="gaf31a4728521eb4b930914f56c5d5685b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf31a4728521eb4b930914f56c5d5685b">L2CAP_ECRB_ALL_CONNS_SUCCESSFUL</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:gaf31a4728521eb4b930914f56c5d5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">All Connections Successful. <br /></td></tr>
<tr class="separator:gaf31a4728521eb4b930914f56c5d5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e6fd0fc68ab23165f6d24686549745a"><td class="memItemLeft" align="right" valign="top"><a id="ga0e6fd0fc68ab23165f6d24686549745a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0e6fd0fc68ab23165f6d24686549745a">L2CAP_ECRB_ALL_CONNS_REFUSED</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga0e6fd0fc68ab23165f6d24686549745a"><td class="mdescLeft">&#160;</td><td class="mdescRight">All Connections Refused. <br /></td></tr>
<tr class="separator:ga0e6fd0fc68ab23165f6d24686549745a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="memItemLeft" align="right" valign="top"><a id="ga380ddc3c1dec2ea1619f8ca59f760321"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga380ddc3c1dec2ea1619f8ca59f760321">L2CAP_ECRB_SOME_CONNS_REFUSED</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some Connections Refused. <br /></td></tr>
<tr class="separator:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ed539b0c0deb62f09488bbad46345d5"><td class="memItemLeft" align="right" valign="top"><a id="ga9ed539b0c0deb62f09488bbad46345d5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9ed539b0c0deb62f09488bbad46345d5">L2CAP_ECRB_INSUFF_AUTHENTICATION</a>&#160;&#160;&#160;0x0005</td></tr>
<tr class="memdesc:ga9ed539b0c0deb62f09488bbad46345d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Authentication. <br /></td></tr>
<tr class="separator:ga9ed539b0c0deb62f09488bbad46345d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="memItemLeft" align="right" valign="top"><a id="ga1b11589d5ad59844387e4fe1e1e80a7f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1b11589d5ad59844387e4fe1e1e80a7f">L2CAP_ECRB_INSUFF_AUTHORIZATION</a>&#160;&#160;&#160;0x0006</td></tr>
<tr class="memdesc:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Autherization. <br /></td></tr>
<tr class="separator:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="memItemLeft" align="right" valign="top"><a id="ga2b6a7f9061fc74bf9ad44e3e039d2d87"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2b6a7f9061fc74bf9ad44e3e039d2d87">L2CAP_ECRB_INSUFF_KEY_SIZE</a>&#160;&#160;&#160;0x0007</td></tr>
<tr class="memdesc:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Key size. <br /></td></tr>
<tr class="separator:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="memItemLeft" align="right" valign="top"><a id="ga7b4df3fcd4d1cefbaae0b271e2442c47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga7b4df3fcd4d1cefbaae0b271e2442c47">L2CAP_ECRB_INSUFF_ENCRYPTION</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Encryption. <br /></td></tr>
<tr class="separator:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01180b0d2e23d47b033af19d0034b06f"><td class="memItemLeft" align="right" valign="top"><a id="ga01180b0d2e23d47b033af19d0034b06f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga01180b0d2e23d47b033af19d0034b06f">L2CAP_ECRB_INVALID_SOURCE_CID</a>&#160;&#160;&#160;0x0009</td></tr>
<tr class="memdesc:ga01180b0d2e23d47b033af19d0034b06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Source CID. <br /></td></tr>
<tr class="separator:ga01180b0d2e23d47b033af19d0034b06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b57d0246d984b871f67e663af9209cf"><td class="memItemLeft" align="right" valign="top"><a id="ga0b57d0246d984b871f67e663af9209cf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0b57d0246d984b871f67e663af9209cf">L2CAP_ECRB_SOURCE_CID_IN_USE</a>&#160;&#160;&#160;0x000A</td></tr>
<tr class="memdesc:ga0b57d0246d984b871f67e663af9209cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source CID in Used. <br /></td></tr>
<tr class="separator:ga0b57d0246d984b871f67e663af9209cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1fe86af36b248ddaaebee96a4053ca0"><td class="memItemLeft" align="right" valign="top"><a id="gac1fe86af36b248ddaaebee96a4053ca0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac1fe86af36b248ddaaebee96a4053ca0">L2CAP_ECRB_UNACCEPTABLE_PARAMS</a>&#160;&#160;&#160;0x000B</td></tr>
<tr class="memdesc:gac1fe86af36b248ddaaebee96a4053ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unacceptable Params. <br /></td></tr>
<tr class="separator:gac1fe86af36b248ddaaebee96a4053ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac18b47478bce4cef1fce57df3a198da7"><td class="memItemLeft" align="right" valign="top"><a id="gac18b47478bce4cef1fce57df3a198da7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac18b47478bce4cef1fce57df3a198da7">L2CAP_ECRB_INVALID_PARAMS</a>&#160;&#160;&#160;0x000C</td></tr>
<tr class="memdesc:gac18b47478bce4cef1fce57df3a198da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Params. <br /></td></tr>
<tr class="separator:gac18b47478bce4cef1fce57df3a198da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="memItemLeft" align="right" valign="top"><a id="ga2ef3784eac4b9b25b4964010bd5e5c29"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2ef3784eac4b9b25b4964010bd5e5c29">L2CAP_ECRB_RECONFIG_SUCCESSFUL</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration Successful. <br /></td></tr>
<tr class="separator:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e96991c53e2b3c1830138fbe02d3512"><td class="memItemLeft" align="right" valign="top"><a id="ga2e96991c53e2b3c1830138fbe02d3512"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2e96991c53e2b3c1830138fbe02d3512">L2CAP_ECRB_RECONFIG_FAIL_BAD_MTU</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga2e96991c53e2b3c1830138fbe02d3512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad MTU. <br /></td></tr>
<tr class="separator:ga2e96991c53e2b3c1830138fbe02d3512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f2a432ec602ca7af8983863cba07a34"><td class="memItemLeft" align="right" valign="top"><a id="ga4f2a432ec602ca7af8983863cba07a34"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4f2a432ec602ca7af8983863cba07a34">L2CAP_ECRB_RECONFIG_FAIL_BAD_MPS</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga4f2a432ec602ca7af8983863cba07a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad MPS. <br /></td></tr>
<tr class="separator:ga4f2a432ec602ca7af8983863cba07a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="memItemLeft" align="right" valign="top"><a id="gafe610f3bc3ae138c01aa1e4429ac1697"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gafe610f3bc3ae138c01aa1e4429ac1697">L2CAP_ECRB_RECONFIG_FAIL_BAD_DCID</a>&#160;&#160;&#160;0x0003</td></tr>
<tr class="memdesc:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad DCID. <br /></td></tr>
<tr class="separator:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="memItemLeft" align="right" valign="top"><a id="gad192f458fb8fccd5491fdc5f4356bdaa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gad192f458fb8fccd5491fdc5f4356bdaa">L2CAP_ECRB_RECONFIG_FAIL_OTHER</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Other Reason. <br /></td></tr>
<tr class="separator:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="memItemLeft" align="right" valign="top"><a id="ga0766e27d59d49ec8baf74df6b9bfe4ee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0766e27d59d49ec8baf74df6b9bfe4ee">L2CAP_ECRB_NOT_SUPPORTED_BY_PEER</a>&#160;&#160;&#160;0xF000</td></tr>
<tr class="memdesc:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not Supported by Peer. <br /></td></tr>
<tr class="separator:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ping result</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp657883fd04e9d32ff42219fc42c4bf7f"></a><a class="anchor" id="L2CAP_PING_RESULT"></a></p>
<p>Ping result codes. </p>
</td></tr>
<tr class="memitem:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="memItemLeft" align="right" valign="top"><a id="ga9e5612c1b7888cb1a969861fdb7faf0b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9e5612c1b7888cb1a969861fdb7faf0b">L2CAP_PING_RESULT_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ping reply received OK. <br /></td></tr>
<tr class="separator:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="memItemLeft" align="right" valign="top"><a id="ga4e8e4a2973a1f1a2e7220b4a95d1efda"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4e8e4a2973a1f1a2e7220b4a95d1efda">L2CAP_PING_RESULT_NO_LINK</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Link could not be setup. <br /></td></tr>
<tr class="separator:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab412c5740493977b7aeca5816120519f"><td class="memItemLeft" align="right" valign="top"><a id="gab412c5740493977b7aeca5816120519f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab412c5740493977b7aeca5816120519f">L2CAP_PING_RESULT_NO_RESPONSE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gab412c5740493977b7aeca5816120519f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remote L2CAP did not reply. <br /></td></tr>
<tr class="separator:gab412c5740493977b7aeca5816120519f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP data write result</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp18b92977aa46f6ea103ee42cec479dac"></a><a class="anchor" id="L2CAP_DATAWRITE"></a></p>
<p>Result codes for <a class="el" href="group__l2cap__common__api__functions.html#ga2cd224a6bc467d85d853540f8abdec5e">wiced_bt_l2cap_data_write()</a> </p>
</td></tr>
<tr class="memitem:ga15f1fc2aed25d306166cca74bf8608f8"><td class="memItemLeft" align="right" valign="top"><a id="ga15f1fc2aed25d306166cca74bf8608f8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga15f1fc2aed25d306166cca74bf8608f8">L2CAP_DATAWRITE_FAILED</a>&#160;&#160;&#160;<a class="el" href="group__gentypes.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a></td></tr>
<tr class="memdesc:ga15f1fc2aed25d306166cca74bf8608f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">If data not accepted and error. <br /></td></tr>
<tr class="separator:ga15f1fc2aed25d306166cca74bf8608f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac11908d21cca31282961ab23ddc67559"><td class="memItemLeft" align="right" valign="top"><a id="gac11908d21cca31282961ab23ddc67559"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac11908d21cca31282961ab23ddc67559">L2CAP_DATAWRITE_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group__gentypes.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a></td></tr>
<tr class="memdesc:gac11908d21cca31282961ab23ddc67559"><td class="mdescLeft">&#160;</td><td class="mdescRight">If data accepted. <br /></td></tr>
<tr class="separator:gac11908d21cca31282961ab23ddc67559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36a742ec81d6b130ef9fce023755ab36"><td class="memItemLeft" align="right" valign="top"><a id="ga36a742ec81d6b130ef9fce023755ab36"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga36a742ec81d6b130ef9fce023755ab36">L2CAP_DATAWRITE_CONGESTED</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga36a742ec81d6b130ef9fce023755ab36"><td class="mdescLeft">&#160;</td><td class="mdescRight">if data accepted and the channel is congested <br /></td></tr>
<tr class="separator:ga36a742ec81d6b130ef9fce023755ab36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP data write flags</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpcb070451a8d2d71b4d472d59433e1fd9"></a><a class="anchor" id="L2CAP_DATAWRITE_FLUSH"></a></p>
<p>Flushable/Non Flushable flags parameter used in a call <a class="el" href="group__l2cap__common__api__functions.html#ga2cd224a6bc467d85d853540f8abdec5e">wiced_bt_l2cap_data_write()</a> </p>
</td></tr>
<tr class="memitem:gabe8a54b9dce954e44f79274c050d4d96"><td class="memItemLeft" align="right" valign="top"><a id="gabe8a54b9dce954e44f79274c050d4d96"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gabe8a54b9dce954e44f79274c050d4d96">L2CAP_FLUSHABLE_MASK</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gabe8a54b9dce954e44f79274c050d4d96"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2CAP Flushable mask. <br /></td></tr>
<tr class="separator:gabe8a54b9dce954e44f79274c050d4d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae040774bd5a495540e49d7456732c23f"><td class="memItemLeft" align="right" valign="top"><a id="gae040774bd5a495540e49d7456732c23f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae040774bd5a495540e49d7456732c23f">L2CAP_NON_FLUSHABLE_PACKET</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:gae040774bd5a495540e49d7456732c23f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non Flushable flag. <br /></td></tr>
<tr class="separator:gae040774bd5a495540e49d7456732c23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6561498074e97ec73b49de963fa69896"><td class="memItemLeft" align="right" valign="top"><a id="ga6561498074e97ec73b49de963fa69896"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6561498074e97ec73b49de963fa69896">L2CAP_FLUSHABLE_PACKET</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga6561498074e97ec73b49de963fa69896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushable flag. <br /></td></tr>
<tr class="separator:ga6561498074e97ec73b49de963fa69896"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP PSM</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp5aaa46eaf788597dda6f4847b9dd81a4"></a><a class="anchor" id="L2CAP_PSM_CHECK"></a></p>
<p>Validity check for PSM. PSM values must be odd. Also, all PSM values must be assigned such that the least significant bit of the most sigificant octet equals zero. </p>
</td></tr>
<tr class="memitem:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="memItemLeft" align="right" valign="top"><a id="ga526c4ea340fa1eadc1301b3080b6bb41"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga526c4ea340fa1eadc1301b3080b6bb41">L2C_INVALID_PSM</a>(psm)&#160;&#160;&#160;(((psm) &amp; 0x0101) != 0x0001)</td></tr>
<tr class="memdesc:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on invalid PSM. <br /></td></tr>
<tr class="separator:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="memItemLeft" align="right" valign="top"><a id="ga3d09aad44f9c90015d3e6455a3dbadb8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3d09aad44f9c90015d3e6455a3dbadb8">L2C_IS_VALID_PSM</a>(psm)&#160;&#160;&#160;(((psm) &amp; 0x0101) == 0x0001)</td></tr>
<tr class="memdesc:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on valid PSM. <br /></td></tr>
<tr class="separator:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP channel configuration</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp7857b1667372afe69d7de40e08dae106"></a><a class="anchor" id="L2CAP_CH_CFG_MASK"></a></p>
<p>L2CAP channel configured field bitmap. Used for <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> </p>
</td></tr>
<tr class="memitem:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="memItemLeft" align="right" valign="top"><a id="gacbaf7b6dab575ea7ed61eba69097b4ce"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gacbaf7b6dab575ea7ed61eba69097b4ce">L2CAP_CH_CFG_MASK_MTU</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">MTU channel configuration bit mask. <br /></td></tr>
<tr class="separator:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="memItemLeft" align="right" valign="top"><a id="gaed9bbf317cb05ae2e3e420f7a563477a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaed9bbf317cb05ae2e3e420f7a563477a">L2CAP_CH_CFG_MASK_QOS</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="mdescLeft">&#160;</td><td class="mdescRight">QOS channel configuration bit mask. <br /></td></tr>
<tr class="separator:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="memItemLeft" align="right" valign="top"><a id="gab0f7c5609c68f3417ff7e6b2ae8f0b2a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab0f7c5609c68f3417ff7e6b2ae8f0b2a">L2CAP_CH_CFG_MASK_FLUSH_TO</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush to channel configuration bit mask. <br /></td></tr>
<tr class="separator:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab419d29fa16426b52ab3b25926cec877"><td class="memItemLeft" align="right" valign="top"><a id="gab419d29fa16426b52ab3b25926cec877"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab419d29fa16426b52ab3b25926cec877">L2CAP_CH_CFG_MASK_FCR</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:gab419d29fa16426b52ab3b25926cec877"><td class="mdescLeft">&#160;</td><td class="mdescRight">FCR channel configuration bit mask. <br /></td></tr>
<tr class="separator:gab419d29fa16426b52ab3b25926cec877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="memItemLeft" align="right" valign="top"><a id="ga88d1a74441d2bdf06ba44dfde36bb184"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga88d1a74441d2bdf06ba44dfde36bb184">L2CAP_CH_CFG_MASK_FCS</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="mdescLeft">&#160;</td><td class="mdescRight">FCS channel configuration bit mask. <br /></td></tr>
<tr class="separator:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7377ca83abae385943268fa7567335ac"><td class="memItemLeft" align="right" valign="top"><a id="ga7377ca83abae385943268fa7567335ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga7377ca83abae385943268fa7567335ac">L2CAP_CH_CFG_MASK_EXT_FLOW_SPEC</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga7377ca83abae385943268fa7567335ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended flow specification channel configuration bit mask. <br /></td></tr>
<tr class="separator:ga7377ca83abae385943268fa7567335ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP FCR Mode</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp01afdf1d2f46f3859b18dbba7a5e0787"></a><a class="anchor" id="L2CAP_FCR_MODE"></a></p>
<p>L2CAP FCR mode configuring options and allowed modes bit mask. From below, first 3 used as a field <a class="el" href="structwiced__bt__l2cap__fcr__options__t.html#afe0306ffb830b08231439dfbdbae604f">wiced_bt_l2cap_fcr_options_t::mode</a> and reamining used as a bit mask field <a class="el" href="structwiced__bt__l2cap__ertm__information__t.html#a40e51b20992772dc05219dfa381fc088">wiced_bt_l2cap_ertm_information_t::allowed_modes</a> </p>
</td></tr>
<tr class="memitem:gadc2789ceab822845b5e71bb440905f90"><td class="memItemLeft" align="right" valign="top"><a id="gadc2789ceab822845b5e71bb440905f90"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gadc2789ceab822845b5e71bb440905f90">L2CAP_FCR_BASIC_MODE</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:gadc2789ceab822845b5e71bb440905f90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic mode (no FCR) <br /></td></tr>
<tr class="separator:gadc2789ceab822845b5e71bb440905f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae042e8ea72bf32ba0a3510d2fa97fa0b"><td class="memItemLeft" align="right" valign="top"><a id="gae042e8ea72bf32ba0a3510d2fa97fa0b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae042e8ea72bf32ba0a3510d2fa97fa0b">L2CAP_FCR_ERTM_MODE</a>&#160;&#160;&#160;0x03</td></tr>
<tr class="memdesc:gae042e8ea72bf32ba0a3510d2fa97fa0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ERTM mode. <br /></td></tr>
<tr class="separator:gae042e8ea72bf32ba0a3510d2fa97fa0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2e6c9918ec11fb7d19aac7e96d338fd"><td class="memItemLeft" align="right" valign="top"><a id="gac2e6c9918ec11fb7d19aac7e96d338fd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac2e6c9918ec11fb7d19aac7e96d338fd">L2CAP_FCR_STREAM_MODE</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:gac2e6c9918ec11fb7d19aac7e96d338fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Streaming mode. <br /></td></tr>
<tr class="separator:gac2e6c9918ec11fb7d19aac7e96d338fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09573a4b41ed7cbefaf7fa14869a4079"><td class="memItemLeft" align="right" valign="top"><a id="ga09573a4b41ed7cbefaf7fa14869a4079"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga09573a4b41ed7cbefaf7fa14869a4079">L2CAP_FCR_CHAN_OPT_BASIC</a>&#160;&#160;&#160;(1 &lt;&lt; <a class="el" href="group__l2cap.html#gadc2789ceab822845b5e71bb440905f90">L2CAP_FCR_BASIC_MODE</a>)</td></tr>
<tr class="memdesc:ga09573a4b41ed7cbefaf7fa14869a4079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic mode (no FCR) bit mask. <br /></td></tr>
<tr class="separator:ga09573a4b41ed7cbefaf7fa14869a4079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga878cca21b18459067a518993680ba0cb"><td class="memItemLeft" align="right" valign="top"><a id="ga878cca21b18459067a518993680ba0cb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga878cca21b18459067a518993680ba0cb">L2CAP_FCR_CHAN_OPT_ERTM</a>&#160;&#160;&#160;(1 &lt;&lt; <a class="el" href="group__l2cap.html#gae042e8ea72bf32ba0a3510d2fa97fa0b">L2CAP_FCR_ERTM_MODE</a>)</td></tr>
<tr class="memdesc:ga878cca21b18459067a518993680ba0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">ERTM mode bit mask. <br /></td></tr>
<tr class="separator:ga878cca21b18459067a518993680ba0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38fc97ee0a99bd9f5265afad780f3385"><td class="memItemLeft" align="right" valign="top"><a id="ga38fc97ee0a99bd9f5265afad780f3385"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga38fc97ee0a99bd9f5265afad780f3385">L2CAP_FCR_CHAN_OPT_STREAM</a>&#160;&#160;&#160;(1 &lt;&lt; <a class="el" href="group__l2cap.html#gac2e6c9918ec11fb7d19aac7e96d338fd">L2CAP_FCR_STREAM_MODE</a>)</td></tr>
<tr class="memdesc:ga38fc97ee0a99bd9f5265afad780f3385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Streaming mode bit mask. <br /></td></tr>
<tr class="separator:ga38fc97ee0a99bd9f5265afad780f3385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb1d3cbd4f7ff91855dc5c643a8f604d"><td class="memItemLeft" align="right" valign="top"><a id="gafb1d3cbd4f7ff91855dc5c643a8f604d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gafb1d3cbd4f7ff91855dc5c643a8f604d">L2CAP_FCR_CHAN_OPT_ALL_MASK</a>&#160;&#160;&#160;(<a class="el" href="group__l2cap.html#ga09573a4b41ed7cbefaf7fa14869a4079">L2CAP_FCR_CHAN_OPT_BASIC</a> | <a class="el" href="group__l2cap.html#ga878cca21b18459067a518993680ba0cb">L2CAP_FCR_CHAN_OPT_ERTM</a> | <a class="el" href="group__l2cap.html#ga38fc97ee0a99bd9f5265afad780f3385">L2CAP_FCR_CHAN_OPT_STREAM</a>)</td></tr>
<tr class="memdesc:gafb1d3cbd4f7ff91855dc5c643a8f604d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for all modes Basic, ERTM and Streaming. <br /></td></tr>
<tr class="separator:gafb1d3cbd4f7ff91855dc5c643a8f604d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP flush channels</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp2e3bca0c4eec888f052242737ce97c1d"></a><a class="anchor" id="L2CAP_FLUSH_CHANNELS"></a></p>
<p>L2CAP flush channel and num_to_flush parameter used in a call <a class="el" href="group__l2cap__br__edr__api__functions.html#ga62269df07fdeca67e86b7b5dd36a725d">wiced_bt_l2cap_flush_channel()</a> </p>
</td></tr>
<tr class="memitem:gadd0b467a62dacef2efdca88ded777ba8"><td class="memItemLeft" align="right" valign="top"><a id="gadd0b467a62dacef2efdca88ded777ba8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gadd0b467a62dacef2efdca88ded777ba8">L2CAP_FLUSH_CHANNELS_ALL</a>&#160;&#160;&#160;0xffff</td></tr>
<tr class="memdesc:gadd0b467a62dacef2efdca88ded777ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">To flush all queued buffers. <br /></td></tr>
<tr class="separator:gadd0b467a62dacef2efdca88ded777ba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d353f91f7c3c2e95134ffcfcb890015"><td class="memItemLeft" align="right" valign="top"><a id="ga0d353f91f7c3c2e95134ffcfcb890015"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0d353f91f7c3c2e95134ffcfcb890015">L2CAP_FLUSH_CHANNELS_GET</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ga0d353f91f7c3c2e95134ffcfcb890015"><td class="mdescLeft">&#160;</td><td class="mdescRight">To get queued buffers to flush. <br /></td></tr>
<tr class="separator:ga0d353f91f7c3c2e95134ffcfcb890015"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP role</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp1c68f64ff36a048f9653124425061259"></a><a class="anchor" id="L2CAP_ROLE"></a></p>
<p>L2CAP role and new_role parameter used in a call <a class="el" href="group__l2cap__br__edr__api__functions.html#ga1be60582ea9b01e00b5441d8bfe2f279">wiced_bt_l2cap_set_desire_role()</a></p>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__l2cap.html#ga48e2f51a7931eeba4e4d5dff16b00a00">L2CAP_ROLE_SCATTERNET_ALLOWED</a> bit is used to prevent l2CAP to Automatically perform role switch (for both Incoming and outgoing) ACL connections. </dd></dl>
</td></tr>
<tr class="memitem:ga972f5c4387bd41dcfaf6cd30bd3d4f5e"><td class="memItemLeft" align="right" valign="top"><a id="ga972f5c4387bd41dcfaf6cd30bd3d4f5e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga972f5c4387bd41dcfaf6cd30bd3d4f5e">L2CAP_ROLE_PERIPHERAL</a>&#160;&#160;&#160;<a class="el" href="group__wicedbt___device_management.html#gab7dca154fa7edb5aadf21b1f063e8755">HCI_ROLE_PERIPHERAL</a></td></tr>
<tr class="memdesc:ga972f5c4387bd41dcfaf6cd30bd3d4f5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2CAP Peripheral role. <br /></td></tr>
<tr class="separator:ga972f5c4387bd41dcfaf6cd30bd3d4f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c9ea3880806b7c5f06a04c2e7d86227"><td class="memItemLeft" align="right" valign="top"><a id="ga1c9ea3880806b7c5f06a04c2e7d86227"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1c9ea3880806b7c5f06a04c2e7d86227">L2CAP_ROLE_CENTRAL</a>&#160;&#160;&#160;<a class="el" href="group__wicedbt___device_management.html#ga265e06618516326f9bf06442155a5a62">HCI_ROLE_CENTRAL</a></td></tr>
<tr class="memdesc:ga1c9ea3880806b7c5f06a04c2e7d86227"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2CAP Central role. <br /></td></tr>
<tr class="separator:ga1c9ea3880806b7c5f06a04c2e7d86227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabfdc8c8aaca18681f322353b098a611"><td class="memItemLeft" align="right" valign="top"><a id="gaabfdc8c8aaca18681f322353b098a611"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaabfdc8c8aaca18681f322353b098a611">L2CAP_ROLE_ALLOW_SWITCH</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="memdesc:gaabfdc8c8aaca18681f322353b098a611"><td class="mdescLeft">&#160;</td><td class="mdescRight">set this bit to allow switch at create conn <br /></td></tr>
<tr class="separator:gaabfdc8c8aaca18681f322353b098a611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f0bc551ede392bc1d6fe42361d94c84"><td class="memItemLeft" align="right" valign="top"><a id="ga5f0bc551ede392bc1d6fe42361d94c84"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga5f0bc551ede392bc1d6fe42361d94c84">L2CAP_ROLE_DISALLOW_SWITCH</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:ga5f0bc551ede392bc1d6fe42361d94c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">set this bit to disallow switch at create conn <br /></td></tr>
<tr class="separator:ga5f0bc551ede392bc1d6fe42361d94c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9b005022e90c08493bb23d13755c6f8"><td class="memItemLeft" align="right" valign="top"><a id="gaf9b005022e90c08493bb23d13755c6f8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf9b005022e90c08493bb23d13755c6f8">L2CAP_ROLE_CHECK_SWITCH</a>&#160;&#160;&#160;0xC0</td></tr>
<tr class="memdesc:gaf9b005022e90c08493bb23d13755c6f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">To check the switch to allow or disallow. <br /></td></tr>
<tr class="separator:gaf9b005022e90c08493bb23d13755c6f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48e2f51a7931eeba4e4d5dff16b00a00"><td class="memItemLeft" align="right" valign="top"><a id="ga48e2f51a7931eeba4e4d5dff16b00a00"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga48e2f51a7931eeba4e4d5dff16b00a00">L2CAP_ROLE_SCATTERNET_ALLOWED</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:ga48e2f51a7931eeba4e4d5dff16b00a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">set this bit to allow scatternet <br /></td></tr>
<tr class="separator:ga48e2f51a7931eeba4e4d5dff16b00a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ACL Priority Value</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp1f7e096fc67e6c1adb7238f26e07ea9e"></a><a class="anchor" id="L2CAP_PRIORITY"></a></p>
<p>Values for priority parameter to <a class="el" href="group__l2cap__br__edr__api__functions.html#gac1053b5aa5412818516097c8295f90d1" title="Sets the priority for an ACL channel.">wiced_bt_l2cap_set_acl_priority()</a> and <a class="el" href="group__l2cap__br__edr__api__functions.html#ga3c2e5eaaa0b399dbdbebbc41a07fb8e4" title="Sets the priority for an ACL channel with extended parameters.">wiced_bt_l2cap_set_acl_priority_ext()</a>. </p>
</td></tr>
<tr class="memitem:ga9c3380c72b9ed68837e360435744eab3"><td class="memItemLeft" align="right" valign="top"><a id="ga9c3380c72b9ed68837e360435744eab3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9c3380c72b9ed68837e360435744eab3">L2CAP_PRIORITY_NORMAL</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga9c3380c72b9ed68837e360435744eab3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ACL priority as normal. <br /></td></tr>
<tr class="separator:ga9c3380c72b9ed68837e360435744eab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8f483be39d6531300918dc58f067be2"><td class="memItemLeft" align="right" valign="top"><a id="gaa8f483be39d6531300918dc58f067be2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaa8f483be39d6531300918dc58f067be2">L2CAP_PRIORITY_HIGH</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaa8f483be39d6531300918dc58f067be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ACL priority as high. <br /></td></tr>
<tr class="separator:gaa8f483be39d6531300918dc58f067be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ACL Priority Direction</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp72306ef48cba927914a9ee62a55fd173"></a><a class="anchor" id="L2CAP_DIRECTION"></a></p>
<p>Values for direction parameter to <a class="el" href="group__l2cap__br__edr__api__functions.html#ga3c2e5eaaa0b399dbdbebbc41a07fb8e4" title="Sets the priority for an ACL channel with extended parameters.">wiced_bt_l2cap_set_acl_priority_ext()</a> </p>
</td></tr>
<tr class="memitem:gac7a3b394ac54946914f2287f4f3bc38f"><td class="memItemLeft" align="right" valign="top"><a id="gac7a3b394ac54946914f2287f4f3bc38f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac7a3b394ac54946914f2287f4f3bc38f">L2CAP_DIRECTION_IGNORE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gac7a3b394ac54946914f2287f4f3bc38f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ACL priority direction as ignore. <br /></td></tr>
<tr class="separator:gac7a3b394ac54946914f2287f4f3bc38f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga231caf03d9b763494440d7f9efbbc493"><td class="memItemLeft" align="right" valign="top"><a id="ga231caf03d9b763494440d7f9efbbc493"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga231caf03d9b763494440d7f9efbbc493">L2CAP_DIRECTION_DATA_SOURCE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga231caf03d9b763494440d7f9efbbc493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ACL priority direction as source. <br /></td></tr>
<tr class="separator:ga231caf03d9b763494440d7f9efbbc493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a92c8eac5d4f355e1c23a4e50b3263f"><td class="memItemLeft" align="right" valign="top"><a id="ga9a92c8eac5d4f355e1c23a4e50b3263f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9a92c8eac5d4f355e1c23a4e50b3263f">L2CAP_DIRECTION_DATA_SINK</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga9a92c8eac5d4f355e1c23a4e50b3263f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ACL priority direction as sink. <br /></td></tr>
<tr class="separator:ga9a92c8eac5d4f355e1c23a4e50b3263f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP transmission channel priority</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp4e66d9fe7ed6c7a2787365f4b8a8b94b"></a><a class="anchor" id="L2CAP_CHNL_PRIORITY"></a></p>
<p>L2CAP channel transmission priority. Used for <a class="el" href="group__l2cap.html#gae159cf0a184ef83a6b33727f05747b69">wiced_bt_l2cap_chnl_priority_t</a> </p>
</td></tr>
<tr class="memitem:ga73086018293c0ddf6a844dde6a1a0938"><td class="memItemLeft" align="right" valign="top"><a id="ga73086018293c0ddf6a844dde6a1a0938"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga73086018293c0ddf6a844dde6a1a0938">L2CAP_CHNL_PRIORITY_HIGH</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga73086018293c0ddf6a844dde6a1a0938"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmission priority as high for a channel (FCR Mode) <br /></td></tr>
<tr class="separator:ga73086018293c0ddf6a844dde6a1a0938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06a9d4f9d52bcac421d43b2361db35fb"><td class="memItemLeft" align="right" valign="top"><a id="ga06a9d4f9d52bcac421d43b2361db35fb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga06a9d4f9d52bcac421d43b2361db35fb">L2CAP_CHNL_PRIORITY_MEDIUM</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga06a9d4f9d52bcac421d43b2361db35fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmission priority as medium for a channel (FCR Mode) <br /></td></tr>
<tr class="separator:ga06a9d4f9d52bcac421d43b2361db35fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbed022f75a948ccb4d6e656495ac717"><td class="memItemLeft" align="right" valign="top"><a id="gacbed022f75a948ccb4d6e656495ac717"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gacbed022f75a948ccb4d6e656495ac717">L2CAP_CHNL_PRIORITY_LOW</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gacbed022f75a948ccb4d6e656495ac717"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmission priority as low for a channel (FCR Mode) <br /></td></tr>
<tr class="separator:gacbed022f75a948ccb4d6e656495ac717"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP LE PSM</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp43391b56ded17a6f74d52c326f2faa80"></a><a class="anchor" id="L2CAP_LE_PSM_CHECK"></a></p>
<p>Validity check for LE_PSM. Fixed LE_PSMs are in the range 0x0001 - 0x007F. Dynamic LE_PSM are in the range 0x0080 - 0x00FF. The values 0x0000 and 0x0100 - 0xFFFF are reserved. </p>
</td></tr>
<tr class="memitem:ga09d2c46b10a813c41302e5389e314bbe"><td class="memItemLeft" align="right" valign="top"><a id="ga09d2c46b10a813c41302e5389e314bbe"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga09d2c46b10a813c41302e5389e314bbe">MINIMIUM_DYNAMIC_LE_PSM</a>&#160;&#160;&#160;0x0080</td></tr>
<tr class="memdesc:ga09d2c46b10a813c41302e5389e314bbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">First application dynamic PSM allowed. <br /></td></tr>
<tr class="separator:ga09d2c46b10a813c41302e5389e314bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="memItemLeft" align="right" valign="top"><a id="ga1f03cf0e89ea3ac0472e7e0177e5d699"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>&#160;&#160;&#160;0x00FF</td></tr>
<tr class="memdesc:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE PSM range limit. <br /></td></tr>
<tr class="separator:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga032af010a1e5d51fb5e3206be77c01b3"><td class="memItemLeft" align="right" valign="top"><a id="ga032af010a1e5d51fb5e3206be77c01b3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga032af010a1e5d51fb5e3206be77c01b3">L2C_BLE_INVALID_PSM</a>(le_psm)&#160;&#160;&#160;(!(le_psm) || (le_psm) &gt; <a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>)</td></tr>
<tr class="memdesc:ga032af010a1e5d51fb5e3206be77c01b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on invalid LE PSM. <br /></td></tr>
<tr class="separator:ga032af010a1e5d51fb5e3206be77c01b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd075c971c2d6c15bd2f51765053e1c4"><td class="memItemLeft" align="right" valign="top"><a id="gabd075c971c2d6c15bd2f51765053e1c4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gabd075c971c2d6c15bd2f51765053e1c4">L2C_BLE_IS_VALID_PSM</a>(le_psm)&#160;&#160;&#160;(((le_psm) != 0) &amp;&amp; ((le_psm) &lt;= <a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>))</td></tr>
<tr class="memdesc:gabd075c971c2d6c15bd2f51765053e1c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on valid LE PSM. <br /></td></tr>
<tr class="separator:gabd075c971c2d6c15bd2f51765053e1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga87beab594369ecec827a5b118d07c344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga87beab594369ecec827a5b118d07c344">&#9670;&nbsp;</a></span>L2CAP_BLE_CONN_BAD_AUTHENT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_BLE_CONN_BAD_AUTHENT&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection Bad Authentication. </p>
<dl class="section note"><dt>Note</dt><dd>AMP related </dd></dl>

</div>
</div>
<a id="ga467e2353f863be840bd5faa90eccae6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga467e2353f863be840bd5faa90eccae6c">&#9670;&nbsp;</a></span>L2CAP_ECRB_MIN_MTU</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_ECRB_MIN_MTU&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ECRB Min MTU. </p>
<dl class="section note"><dt>Note</dt><dd>LE COC related </dd></dl>

</div>
</div>
<a id="ga393b58267d11d569c394b326b3350412"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga393b58267d11d569c394b326b3350412">&#9670;&nbsp;</a></span>L2CAP_MINIMUM_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_MINIMUM_OFFSET&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minimum offset that L2CAP needs in a buffer. </p>
<p>This is made up of HCI type(1), len(2), handle(2), L2CAP len(2), CID(2), control(2) and SDU length(2) </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga6827dfd644f1172740f9e69c0df06bc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6827dfd644f1172740f9e69c0df06bc9">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ch_cfg_bits_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Channel configuration fields in bit map. </p>
<p>Refer <a class="el" href="group__l2cap.html#L2CAP_CH_CFG_MASK">L2CAP channel configuration</a> </p>

</div>
</div>
<a id="gae159cf0a184ef83a6b33727f05747b69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae159cf0a184ef83a6b33727f05747b69">&#9670;&nbsp;</a></span>wiced_bt_l2cap_chnl_priority_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="group__l2cap.html#gae159cf0a184ef83a6b33727f05747b69">wiced_bt_l2cap_chnl_priority_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Values for priority parameter to <a class="el" href="group__l2cap__br__edr__api__functions.html#gab898add922fd24505677d647683edcdd" title="Sets the transmission priority for a channel.">wiced_bt_l2cap_set_tx_priority()</a>. </p>
<p>Refer <a class="el" href="group__l2cap.html#L2CAP_CHNL_PRIORITY">L2CAP channel transmission priority</a> </p>

</div>
</div>
<a id="ga8eb954ec0a272b02c6fc69bd07ea7602"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8eb954ec0a272b02c6fc69bd07ea7602">&#9670;&nbsp;</a></span>wiced_bt_l2cap_connected_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_connected_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t peer_mtu)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connection established callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">local_cid</td><td>: Local CID assigned to the connection </td></tr>
    <tr><td class="paramname">peer_mtu</td><td>: Peer MTU</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga8e06cc2cf38b4956b5bf6f521de8b3c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8e06cc2cf38b4956b5bf6f521de8b3c7">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_disconnect_indication_cback_t(uint16_t local_cid, uint16_t reason, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> ack)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">ack</td><td>: Boolean whether upper layer should ack this</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga0a296b1bb20b46ebc680a7bec99a740a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a296b1bb20b46ebc680a7bec99a740a">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_confirm_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_disconnect_confirm_cback_t(uint16_t local_cid, uint16_t result)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect confirm callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">result</td><td>: Result</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga5f1ea722e6d857d614fbc68192fcad37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5f1ea722e6d857d614fbc68192fcad37">&#9670;&nbsp;</a></span>wiced_bt_l2cap_data_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_data_indication_cback_t(uint16_t local_cid, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data received indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">p_drb</td><td>: Pointer to the data received buffer, check <a class="el" href="structt_d_r_b.html">tDRB</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: Application is expected to use the data in the callback. Applications should not attempt to free/release the <code>p_drb</code> pointer in this callback, since the buffer will be reused to receive the next incoming packet</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga202240560832cdbfbf208871afd29153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga202240560832cdbfbf208871afd29153">&#9670;&nbsp;</a></span>wiced_bt_l2cap_tx_complete_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_tx_complete_cback_t(uint16_t local_cid, void *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit complete callback protype. </p>
<p>This callback is optional. If set, L2CAP will call it when packets are sent or flushed. If the count is 0xFFFF, it means all packets are sent for that CID (eRTM mode only).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">p_buff</td><td>: Pointer to the data that was sent</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gac22d67eed3442a90a411e8a8fecbe736"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac22d67eed3442a90a411e8a8fecbe736">&#9670;&nbsp;</a></span>wiced_bt_l2cap_fixed_chnl_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_fixed_chnl_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> connected, uint16_t reason, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fixed channel connected and disconnected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">connected</td><td>: TRUE if channel is connected, FALSE if disconnected </td></tr>
    <tr><td class="paramname">reason</td><td>: Reason for connection failure </td></tr>
    <tr><td class="paramname">transport</td><td>: Bluetooth Transport (BR/EDR or LE)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gae164afd58df70e53ff78489e7b7718e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae164afd58df70e53ff78489e7b7718e7">&#9670;&nbsp;</a></span>wiced_bt_l2cap_fixed_data_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_fixed_data_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint8_t *p_data, uint16_t data_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Signalling data received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">p_buff</td><td>: Pointer to data </td></tr>
    <tr><td class="paramname">data_len</td><td>: Data length</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaad82cf3146183d8eab241071358169b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad82cf3146183d8eab241071358169b6">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_le_connect_indication_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t psm, uint8_t id, uint16_t mtu_peer)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">local_cid</td><td>: Local CID assigned to the connection </td></tr>
    <tr><td class="paramname">psm</td><td>: PSM that the remote wants to connect to </td></tr>
    <tr><td class="paramname">id</td><td>: Identifier that the remote sent </td></tr>
    <tr><td class="paramname">mtu_peer</td><td>: MTU of the peer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga3708e90651b47861800452aa90044a7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3708e90651b47861800452aa90044a7f">&#9670;&nbsp;</a></span>wiced_bt_l2cap_drb_release_cb</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_drb_release_cb(<a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>User DRB may be released callback prototype. </p>
<p>This function address is passed in when the user provides a DRB for an eRTM or LE-COC channel. It is called when the DRB can be released, i.e. at the end of the connection.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_drb</td><td>: Address of the DRB that can be released</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaa04b89594d9c3dc7d39a3066c02794cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa04b89594d9c3dc7d39a3066c02794cf">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_confirm_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_le_connect_confirm_cback_t(uint16_t local_cid, uint16_t result, uint16_t mtu_peer)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection confirmation callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">result</td><td>: Result - 0 = connected, non-zero means failure reason </td></tr>
    <tr><td class="paramname">mtu_peer</td><td>: MTU of the peer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth Host Stack Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
